﻿using System;
using Autodesk.Revit.DB;

namespace YJKArch.ImportStructureProject.ImportObjects
{
	public class BeamInfos : ObjectInfos
	{
		public XYZ StartPoint
		{
			get
			{
				return this.m_EdgeInfos.StartPoint;
			}
		}

		public XYZ EndPoint
		{
			get
			{
				return this.m_EdgeInfos.EndPoint;
			}
		}

		public double Bulge
		{
			get
			{
				return this.m_EdgeInfos.Bulge;
			}
		}

		public bool IsArc
		{
			get
			{
				return this.m_EdgeInfos.IsArc;
			}
		}

		public PoleSectionStyle SectionStyle
		{
			get
			{
				return this.m_SectionStyle;
			}
		}

		public double Width
		{
			get
			{
				return this.m_Width;
			}
		}

		public double Height
		{
			get
			{
				return this.m_Height;
			}
		}

		public BeamInfos(BeamInfos rhs)
		{
			this.m_OldElementId = rhs.m_OldElementId;
			this.m_EdgeInfos = rhs.m_EdgeInfos;
			this.m_SectionStyle = rhs.m_SectionStyle;
			this.m_Width = rhs.m_Width;
			this.m_Height = rhs.m_Height;
		}

		public BeamInfos(ElementId oldElementId, XYZ startPoint, XYZ endPoint, double bulge, PoleSectionStyle sectionStyle, double width, double height)
		{
			this.m_OldElementId = oldElementId;
			this.m_EdgeInfos = new EdgeInfos(startPoint, endPoint, bulge);
			this.m_SectionStyle = sectionStyle;
			this.m_Width = width;
			this.m_Height = height;
		}

		private EdgeInfos m_EdgeInfos;

		private PoleSectionStyle m_SectionStyle;

		private double m_Width;

		private double m_Height;
	}
}
